Compiling DNA Strand Displacement Reactions Using a Functional Programming Language
نویسندگان
چکیده
DNA nanotechnology is a rapidly-growing field, with many potential applications in nanoscale manufacturing and autonomous in vivo diagnostic and therapeutic devices. As experimental techniques improve it will become increasingly important to develop software tools and programming abstractions, to enable rapid and correct design of increasingly sophisticated computational circuits. This is analogous to the need for hardware description languages for VLSI. In this paper we discuss our experience implementing a domain-specific language for DNA nanotechnology using a functional programming language. The ability to use abstract data types to describe molecular structures and to recurse over these types to derive the various interactions between structures was a major reason for the use of a functional language in this project.
منابع مشابه
Writing and Compiling Code into Biochemistry
This paper presents a methodology for translating iterative arithmetic computation, specified as high-level programming constructs, into biochemical reactions. From an input/output specification, we generate biochemical reactions that produce output quantities of proteins as a function of input quantities performing operations such as addition, subtraction, and scalar multiplication. Iterative ...
متن کاملA programming language for composable DNA circuits.
Recently, a range of information-processing circuits have been implemented in DNA by using strand displacement as their main computational mechanism. Examples include digital logic circuits and catalytic signal amplification circuits that function as efficient molecular detectors. As new paradigms for DNA computation emerge, the development of corresponding languages and tools for these paradig...
متن کاملSupplementary material for “ Computational design of nucleic acid feedback control circuits ”
6 Visual DSD code for PI controller implementations 13 6.1 Chemical Reaction Network implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 6.2 4Domain DNA Strand Displacement implementation . . . . . . . . . . . . . . . . . . . . . . . . . . 16 6.2.1 Initial Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 6.2.2 Reac...
متن کاملA Novel Computational Method to Reduce Leaky Reaction in DNA Strand Displacement
DNA strand displacement technique is widely used in DNA programming, DNA biosensors, and gene analysis. In DNA strand displacement, leaky reactions can cause DNA signals decay and detecting DNA signals fails. The mostly used method to avoid leakage is cleaning up after upstream leaky reactions, and it remains a challenge to develop reliable DNA strand displacement technique with low leakage. In...
متن کاملVisual DSD: a design and analysis tool for DNA strand displacement systems
SUMMARY The Visual DSD (DNA Strand Displacement) tool allows rapid prototyping and analysis of computational devices implemented using DNA strand displacement, in a convenient web-based graphical interface. It is an implementation of the DSD programming language and compiler described by Lakin et al. (2011) with additional features such as support for polymers of unbounded length. It also suppo...
متن کامل